/*
 * Provider.cs
 *
 * This class is used to instaniate the correct BLAS, LAPACK,
 * and FFT providers.
 *
 * Copyright (c) 2005, dnAnalytics. All rights reserved.
 */

namespace dnAnalytics.LinearAlgebra.Native {
	/// <summary>
	/// The Provider class is used to specify which native libraries to use. The libraries can be set via properties.
	/// </summary>
	internal static class Provider {
		#region Fields

		private static IBlas blas = dnAnalytics.LinearAlgebra.Native.Mkl.Blas.Instance;
		private static ILapack lapack = dnAnalytics.LinearAlgebra.Native.Mkl.Lapack.Instance;

		#endregion Fields

		#region Properties

		public static IBlas BlasInstance {
			get { return blas; }
			set { blas = value; }
		}

		public static ILapack LapackInstance {
			get { return lapack; }
			set { lapack = value; }
		}

		#endregion Properties
	}
}